package com.oceansoft.mobile.econsole.modules.api.persistence;

import com.oceansoft.mobile.econsole.modules.api.entity.SysFile;
import com.oceansoft.mobile.econsole.modules.base.entity.Query;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.List;

/**
 * 系统文件存储数据库操作组件接口
 *
 * @author: chenw
 * @time: 2014-5-27 0027 下午 15:26
 */
@Repository
public interface ISysFileMapper {

    /**
     * 保存文件信息
     *
     * @param sysFile 文件信息
     * @return int 主键
     */
    int save(SysFile sysFile);

    void saveFileBatch(@Param("files") ArrayList<SysFile> sysFiles);

    /**
     * 分页加载客户端文件
     *
     * @param query 查询条件集合
     * @return List<SysFile>
     */
    List<SysFile> findPageByCondition(Query query);

    /**
     * 删除指定ID文件
     *
     * @param fileId 文件ID
     */
    void delete(@Param("id") int fileId);

    /**
     * 加载指定ID编号附件信息
     *
     * @param id 附件ID
     * @return SysFile
     */
    SysFile findById(@Param("id") int id);

    SysFile findByFileId(String fileId);
}
